feat(mcp): register loopover_refresh_repo_docs as a local stdio tool#7974
Conversation
loopover_refresh_repo_docs has a remote MCP tool (src/mcp/server.ts) and a
`maintain refresh-docs` CLI command, but no local stdio MCP tool registration.
operator using the local MCP server couldn't call it.
Adds the registerStdioTool block following the existing sibling pattern -- a thin
POST proxy of the same {repoBase}/repo-docs/refresh route the CLI hits, with an
empty body (the route only ever opens a PR -- never merges/commits -- so there is
no create-safety flag to forward). Input reuses ownerRepoShape (matching the remote
refreshRepoDocsShape); description via stdioToolDescription; category "maintainer".
test/unit/mcp-cli-refresh-repo-docs.test.ts drives it in-process (JSONbored#7764 entrypoint
guard) so the registration + handler get real Codecov coverage. Count 94 -> 95.
Closes JSONbored#7754
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Tip ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-22 01:06:03 UTC
Review summary Nits — 5 non-blocking
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7974 +/- ##
==========================================
- Coverage 91.89% 81.92% -9.97%
==========================================
Files 738 94 -644
Lines 75706 23945 -51761
Branches 23011 4602 -18409
==========================================
- Hits 69573 19618 -49955
+ Misses 5041 4131 -910
+ Partials 1092 196 -896
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Summary
Closes #7754 —
loopover_refresh_repo_docshas a remote MCP tool (src/mcp/server.ts) and amaintain refresh-docsCLI command, but no local stdio MCP tool registration. #6743 added the REST route + CLI but never the matching stdio tool.What changed (
packages/loopover-mcp/bin/loopover-mcp.ts)registerStdioTool("loopover_refresh_repo_docs", …)block, placed next toloopover_get_maintainer_noise, mirroring the sibling proxy pattern — a thin POST of the same{repoBase}/repo-docs/refreshroute themaintain refresh-docsCLI already calls, with an empty body (the route only ever opens a PR — never merges/commits — so there's no create-safety flag to forward).ownerRepoShape(matching the remoterefreshRepoDocsShape). Description viastdioToolDescription(...)+ aSTDIO_TOOL_DESCRIPTORSentry (category: "maintainer").Testing / coverage
test/unit/mcp-cli-refresh-repo-docs.test.tsdrives it in-process (the loopover_plan_repo_issues has no REST route, CLI command, or local stdio MCP tool #7764isProcessEntrypointguard +InMemoryTransport) for real Codecov-measured coverage — the handler is branch-free, so one call exercises it fully (asserts the exactPOST /v1/repos/owner/repo/repo-docs/refresh+ the returned PR result).No REST/OpenAPI/CLI-surface change —
ui:openapi:check,command-reference:check,docs/manifestdrift all clean;build:mcpclean.(Supersedes #7969, which was base-conflicted when sibling stdio-tool PRs merged mid-review — rebased onto current main.)